/*
-----------------------------------------------------------------------------
This source file is part of Labor3D
(Labor 3D Graphics Engine)

Copyright (c) 2009-2020 Rock Mao
* creator : Rock Mao
* created : 2009-5-3   22:29
* filename: LaborMatrix3Function.h
-----------------------------------------------------------------------------
*/

#ifndef __LABORMATRIX3FUNCTION_INCLUDE__
#define __LABORMATRIX3FUNCTION_INCLUDE__

#include "../LaborCoreDef.h"
#include "LaborMathDecl.h"
#include "LaborMathInclude.h"

NAMESPACE_LABOR3D_BEGIN
inline void LABORCORE_API  LM_Mul(const CLMatrix3x3& mat, const CLPoint3& ptIn, CLPoint3& ptOut)
{
	ptOut.x = ptIn.x * mat.m[0][0] + ptIn.y * mat.m[1][0] + ptIn.z * mat.m[2][0] ;
	ptOut.y = ptIn.x * mat.m[0][1] + ptIn.y * mat.m[1][1] + ptIn.z * mat.m[2][1] ;
	ptOut.z = ptIn.x * mat.m[0][2] + ptIn.y * mat.m[1][2] + ptIn.z * mat.m[2][2] ;
}
NAMESPACE_LABOR3D_END
#endif
